package com.scm.biz.dao;

import java.util.List;

import com.scm.biz.bean.Order;
import com.scm.biz.query.OrderQuery;
import com.scm.biz.result.OrderResult;


public interface OrderDao {
    int deleteByPrimaryKey(Long id);

    int insert(Order record);

    int insertSelective(Order record);

    Order selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Order record);

    int updateByPrimaryKey(Order record);
    
    /**
     * 插入订单信息并返回订单信息Id
     * @param order
     * @return
     */
    int insertReturnId(Order order);
    
    /**
     * 查询订单
     * @param allOrderQuery 查询条件
     * @return
     */
    List<OrderResult> selectOrder(OrderQuery orderQuery);
    
    /**
     * 查询订单总数
     * @param allOrderQuery 查询条件
     * @return
     */
    int selectOrderTotal(OrderQuery orderQuery);
    
    /**
     * 获得母订单的编码
     * @param id
     * @return
     */
    String getOrderCodeById(Long id);
    
    /**
     * 获得母订单的子订单数量
     * @param id
     * @return
     */
    int selectPatternCountById(Long id);
}